home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / man / cat3 / XmMenuShell.z / XmMenuShell
Encoding:
Text File  |  2003-11-18  |  15.8 KB  |  331 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       _X_m_M_e_n_u_S_h_e_l_l -    The MenuShell widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.       #include <Xm/MenuShell.h>
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.       The MenuShell    widget is a custom OverrideShell widget.  An
  16.       OverrideShell    widget bypasses    _m_w_m when displaying itself.
  17.       It is    designed specifically to contain Popup or Pulldown
  18.       MenuPanes.
  19.  
  20.       Most application writers never encounter this    widget if they
  21.       use the menu-system convenience functions, _X_m_C_r_e_a_t_e_P_o_p_u_p_M_e_n_u
  22.       or _X_m_C_r_e_a_t_e_P_u_l_l_d_o_w_n _M_e_n_u, to create a    Popup or Pulldown
  23.       MenuPane.  The convenience functions automatically create a
  24.       MenuShell widget as the parent of the    MenuPane.  However, if
  25.       the convenience functions are    not used, the application
  26.       programmer must create the required MenuShell.  In this
  27.       case,    it is important    to note    that the parent    of the
  28.       MenuShell depends on the type    of menu    system being built.
  29.  
  30.       +o    If the MenuShell    is for the top-level Popup MenuPane,
  31.            the MenuShell's parent must be the widget from which
  32.            the Popup MenuPane is popped up.
  33.  
  34.       +o    If the MenuShell    is for a MenuPane that is pulled down
  35.            from a Popup or another Pulldown    MenuPane, the
  36.            MenuShell's parent must be the Popup or Pulldown
  37.            MenuPane.
  38.  
  39.       +o    If the MenuShell    is for a MenuPane that is pulled down
  40.            from a MenuBar, the MenuShell's parent must be the
  41.            MenuBar.
  42.  
  43.       +o    If the MenuShell    is for a Pulldown MenuPane in an
  44.            OptionMenu, the MenuShell's parent must be the
  45.            OptionMenu's parent.
  46.  
  47.       Setting _X_m_N_h_e_i_g_h_t, _X_m_N_w_i_d_t_h, or _X_m_N_b_o_r_d_e_r_W_i_d_t_h for either a
  48.       MenuShell or its child sets that resource to the same    value
  49.       in both the parent and the child.  An    application should
  50.       always specify these resources for the child,    not the
  51.       parent.
  52.  
  53.       For the managed child    of a MenuShell,    regardless of the
  54.       value    of the shell's _X_m_N_a_l_l_o_w_S_h_e_l_l_R_e_s_i_z_e, setting _X_m_N_x or
  55.       _X_m_N_y sets the    corresponding resource of the parent but does
  56.       not change the child's position relative to the parent.
  57.       _X_t_G_e_t_V_a_l_u_e_s for the child's _X_m_N_x or _X_m_N_y yields the value of
  58.       the corresponding resource in    the parent.  The xxxx and yyyy
  59.       coordinates of the child's upper left    outside    corner
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 11/11/03)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  71.  
  72.  
  73.  
  74.       relative to the parent's upper left inside corner are    both
  75.       zero minus the value of _X_m_N_b_o_r_d_e_r_W_i_d_t_h.
  76.  
  77.     CCCCllllaaaasssssssseeeessss
  78.       MenuShell inherits behavior and resources from _C_o_r_e,
  79.       _C_o_m_p_o_s_i_t_e, _S_h_e_l_l, and    _O_v_e_r_r_i_d_e_S_h_e_l_l classes.
  80.  
  81.       The class pointer is _x_m_M_e_n_u_S_h_e_l_l_W_i_d_g_e_t_C_l_a_s_s.
  82.  
  83.       The class name is _X_m_M_e_n_u_S_h_e_l_l.
  84.  
  85.     NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  86.       MenuShell overrides the _X_m_N_a_l_l_o_w_S_h_e_l_l_R_e_s_i_z_e resource in
  87.       Shell.  The following    table defines a    set of widget
  88.       resources used by the    programmer to specify data.  The
  89.       programmer can also set the resource values for the
  90.       inherited classes to set attributes for this widget.    To
  91.       reference a resource by name or by class in a    .Xdefaults
  92.       file,    remove the _X_m_N or _X_m_C prefix and use the remaining
  93.       letters.  To specify one of the defined values for a
  94.       resource in a    .Xdefaults file, remove    the _X_m prefix and use
  95.       the remaining    letters    (in either lowercase or    uppercase, but
  96.       include any underscores between words).  The codes in    the
  97.       access column    indicate if the    given resource can be set at
  98.       creation time    (C), set by using _X_t_S_e_t_V_a_l_u_e_s (S), retrieved
  99.       by using _X_t_G_e_t_V_a_l_u_e_s (G), or is not applicable (N/A).
  100.  
  101.                 XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll    RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  102.      NNNNaaaammmmeeee          CCCCllllaaaassssssss               TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  103.      _______________________________________________________________________
  104.      XmNbuttonFontList      XmCButtonFontList    XmFontList   dynamic   CSG
  105.      XmNdefaultFontList      XmCDefaultFontList   XmFontList   dynamic   CG
  106.      XmNlabelFontList      XmCLabelFontList     XmFontList   dynamic   CSG
  107.  
  108.  
  109.       _X_m_N_b_u_t_t_o_n_F_o_n_t_L_i_s_t
  110.            Specifies the font list used for    MenuShell's button
  111.            descendants.  If    this value is NULL at initialization
  112.            and if the value    of _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t is not NULL,
  113.            _X_m_N_b_u_t_t_o_n_F_o_n_t_L_i_s_t is initialized    to the value of
  114.            _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t.  If the value of _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t
  115.            is NULL,    _X_m_N_b_u_t_t_o_n_F_o_n_t_L_i_s_t is initialized by looking up
  116.            the parent hierarchy of the widget for an ancestor that
  117.            is a subclass of    the XmBulletinBoard, VendorShell, or
  118.            XmMenuShell widget class.  If such an ancestor is
  119.            found, _X_m_N_b_u_t_t_o_n_F_o_n_t_L_i_s_t    is initialized to the
  120.            _X_m_N_b_u_t_t_o_n_F_o_n_t_L_i_s_t of the    ancestor  widget.  If no such
  121.            ancestor    is found, the default is implementation
  122.            dependent.
  123.  
  124.       _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t
  125.            Specifies a default font    list for MenuShell's
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 11/11/03)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  137.  
  138.  
  139.  
  140.            descendants.  This resource is obsolete and exists for
  141.            compatibility with earlier releases.  It    has been
  142.            replaced    by _X_m_N_b_u_t_t_o_n_F_o_n_t_L_i_s_t and _X_m_N_l_a_b_e_l_F_o_n_t_L_i_s_t.
  143.  
  144.       _X_m_N_l_a_b_e_l_F_o_n_t_L_i_s_t
  145.            Specifies the font list used for    MenuShell's label
  146.            descendants (Labels and LabelGadgets).  If this value
  147.            is NULL at initialization and if    the value of
  148.            _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t is not NULL, _X_m_N_l_a_b_e_l_F_o_n_t_L_i_s_t    is
  149.            initialized to the value    of _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t.    If the
  150.            value of    _X_m_N_d_e_f_a_u_l_t_F_o_n_t_L_i_s_t is NULL, _X_m_N_l_a_b_e_l_F_o_n_t_L_i_s_t
  151.            is initialized by looking up the    parent hierarchy of
  152.            the widget for an ancestor that is a subclass of    the
  153.            XmBulletinBoard,    VendorShell, or    XmMenuShell widget
  154.            class.  If such an ancestor is found, _X_m_N_l_a_b_e_l_F_o_n_t_L_i_s_t
  155.            is initialized to the _X_m_N_l_a_b_e_l_F_o_n_t_L_i_s_t of the ancestor
  156.            widget.    If no such ancestor is found, the default is
  157.            implementation dependent.
  158.  
  159.     IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  160.       MenuShell inherits behavior and resources from the following
  161.       superclasses.     For a complete    description of each resource,
  162.       refer    to the man page    for that superclass.  The following
  163.       tables define    a set of widget    resources used by the
  164.       programmer to    specify    data.  The programmer can set the
  165.       resource values for these inherited classes to set
  166.       attributes for this widget.  To reference a resource by name
  167.       or by    class in a .Xdefaults file, remove the _X_m_N or _X_m_C
  168.       prefix and use the remaining letters.     To specify one    of the
  169.       defined values for a resource    in a .Xdefaults    file, remove
  170.       the _X_m prefix    and use    the remaining letters (in either
  171.       lowercase or uppercase, but include any underscores between
  172.       words).  The codes in    the access column indicate if the
  173.       given    resource can be    set at creation    time (C), set by using
  174.       _X_t_S_e_t_V_a_l_u_e_s (S), retrieved by    using _X_t_G_e_t_V_a_l_u_e_s (G), or is
  175.       not applicable (N/A).
  176.  
  177.                           SSSShhhheeeellllllll RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  178.      NNNNaaaammmmeeee               CCCCllllaaaassssssss             TTTTyyyyppppeeee              DDDDeeeeffffaaaauuuulllltttt       AAAAcccccccceeeessssssss
  179.      ____________________________________________________________________________________________________
  180.      XmNallowShellResize       XmCAllowShellResize     Boolean          True           G
  181.      XmNcreatePopupChildProc   XmCCreatePopupChildProc     XtCreatePopupChildProc      NULL           CSG
  182.      XmNgeometry           XmCGeometry         String              NULL           CSG
  183.      XmNoverrideRedirect       XmCOverrideRedirect     Boolean          True           CSG
  184.      XmNpopdownCallback           XmCCallback         XtCallbackList          NULL           C
  185.      XmNpopupCallback           XmCCallback         XtCallbackList          NULL           C
  186.      XmNsaveUnder           XmCSaveUnder         Boolean          True           CSG
  187.      XmNvisual               XmCVisual         Visual    *          CopyFromParent   CSG
  188.  
  189.  
  190.                  CCCCoooommmmppppoooossssiiiitttteeee RRRReeeessssoooouuuurrrrcccceeee    SSSSeeeetttt
  191.      NNNNaaaammmmeeee         CCCCllllaaaassssssss             TTTTyyyyppppeeee       DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  192.  
  193.  
  194.  
  195.      Page 3                        (printed 11/11/03)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  203.  
  204.  
  205.  
  206.      ______________________________________________________________________
  207.      XmNchildren     XmCReadOnly         WidgetList       NULL         G
  208.      XmNinsertPosition     XmCInsertPosition   XtOrderProc   NULL         CSG
  209.      XmNnumChildren     XmCReadOnly         Cardinal       0         G
  210.  
  211.  
  212.                            CCCCoooorrrreeee    RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  213.      NNNNaaaammmmeeee                 CCCCllllaaaassssssss                 TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt             AAAAcccccccceeeessssssss
  214.      ______________________________________________________________________________________________________________
  215.      XmNaccelerators             XmCAccelerators             XtAccelerators   dynamic             CSG
  216.      XmNancestorSensitive         XmCSensitive             Boolean          dynamic             G
  217.      XmNbackground             XmCBackground             Pixel          dynamic             CSG
  218.      XmNbackgroundPixmap         XmCPixmap                 Pixmap          XmUNSPECIFIED_PIXMAP   CSG
  219.      XmNborderColor             XmCBorderColor             Pixel          XtDefaultForeground    CSG
  220.      XmNborderPixmap             XmCPixmap                 Pixmap          XmUNSPECIFIED_PIXMAP   CSG
  221.      XmNborderWidth             XmCBorderWidth             Dimension          1                 CSG
  222.      XmNcolormap             XmCColormap             Colormap          dynamic             CG
  223.      XmNdepth                 XmCDepth                 int          dynamic             CG
  224.      XmNdestroyCallback             XmCCallback             XtCallbackList   NULL             C
  225.      XmNheight                 XmCHeight                 Dimension          dynamic             CSG
  226.      XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True             C
  227.      XmNmappedWhenManaged         XmCMappedWhenManaged         Boolean          True             CSG
  228.      XmNscreen                 XmCScreen                 Screen *          dynamic             CG
  229.      XmNsensitive             XmCSensitive             Boolean          True             CSG
  230.      XmNtranslations             XmCTranslations             XtTranslations   dynamic             CSG
  231.      XmNwidth                 XmCWidth                 Dimension          dynamic             CSG
  232.      XmNx                 XmCPosition             Position          0                 CSG
  233.      XmNy                 XmCPosition             Position          0                 CSG
  234.  
  235.  
  236.     TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  237.       The XmMenuShell translations are listed below.  These
  238.       translations may not directly    correspond to a    translation
  239.       table.
  240.       BSelect Press: ClearTraversal()
  241.       BSelect Release:MenuShellPopdownDone()
  242.  
  243.     AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  244.       The XmMenuShell action routines are described    below:
  245.  
  246.       _C_l_e_a_r_T_r_a_v_e_r_s_a_l():
  247.            Disables    keyboard traversal for the menu, enables mouse
  248.            traversal, and unposts any menus    posted by this menu.
  249.  
  250.       _M_e_n_u_S_h_e_l_l_P_o_p_d_o_w_n_D_o_n_e():
  251.            Unposts the menu    hierarchy and, when the    shell's
  252.            keyboard    focus policy is    _X_m_E_X_P_L_I_C_I_T, restores focus to
  253.            the widget that had the focus before the    menu system
  254.            was entered.
  255.  
  256.       _M_e_n_u_S_h_e_l_l_P_o_p_d_o_w_n_O_n_e():
  257.            In a toplevel Pulldown MenuPane from a MenuBar, unposts
  258.  
  259.  
  260.  
  261.      Page 4                        (printed 11/11/03)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  269.  
  270.  
  271.  
  272.            the menu, disarms the MenuBar CascadeButton and the
  273.            MenuBar,    and, when the shell's keyboard focus policy is
  274.            _X_m_E_X_P_L_I_C_T, restores keyboard focus to the widget    that
  275.            had the focus before the    MenuBar    was entered.  In other
  276.            Pulldown    MenuPanes, unposts the menu.
  277.  
  278.       In a Popup MenuPane, unposts the menu, and, when the shell's
  279.       keyboard focus policy    is _X_m_E_X_P_L_I_C_T, restores keyboard    focus
  280.       to the widget    from which the menu was    posted.
  281.  
  282.     VVVViiiirrrrttttuuuuaaaallll    BBBBiiiinnnnddddiiiinnnnggggssss
  283.       The bindings for virtual keys    are vendor specific.  For
  284.       information about bindings for virtual buttons and keys, see
  285.       _V_i_r_t_u_a_l_B_i_n_d_i_n_g_s(_3_X).
  286.  
  287.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  288.       _C_o_m_p_o_s_i_t_e(_3_X), _C_o_r_e(_3_X), _O_v_e_r_r_i_d_e_S_h_e_l_l(_3_X), _S_h_e_l_l(_3_X),
  289.       _X_m_C_r_e_a_t_e_M_e_n_u_S_h_e_l_l(_3_X), _X_m_C_r_e_a_t_e_P_o_p_u_p_M_e_n_u(_3_X),
  290.       _X_m_C_r_e_a_t_e_P_u_l_l_d_o_w_n(_3_X),    and _X_m_R_o_w_C_o_l_u_m_n(_3_X).
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                        (printed 11/11/03)
  328.  
  329.  
  330.  
  331.